negotiator.boaframework.opponentmodel
Class PerfectScalableBayesianModel

java.lang.Object
  extended by negotiator.boaframework.OpponentModel
      extended by negotiator.boaframework.opponentmodel.PerfectScalableBayesianModel

public class PerfectScalableBayesianModel
extends OpponentModel

Adapter for BayesianOpponentModelScalable for the BOA framework. Modified such that it has perfect knowledge about the opponent's strategy. Tim Baarslag, Koen Hindriks, Mark Hendrikx, Alex Dirkzwager and Catholijn M. Jonker. Decoupling Negotiating Agents to Explore the Space of Negotiation Strategies KNOWN BUGS: 1. Opponent model does not take the opponent's strategy into account, in contrast to the original paper which depicts an assumption about the opponent'strategy which adapts over time. 2. The opponent model becomes invalid after a while as NaN occurs in some hypotheses, corrupting the overall estimation.

Author:
Mark Hendrikx

Field Summary
 
Fields inherited from class negotiator.boaframework.OpponentModel
negotiationSession, opponentUtilitySpace
 
Constructor Summary
PerfectScalableBayesianModel()
           
 
Method Summary
 void cleanUp()
          Removes references to the objects used by the opponent model.
 double getBidEvaluation(Bid bid)
          Determines the utility of a bid according to the preference profile.
 java.lang.String getName()
           
 UtilitySpace getOpponentUtilitySpace()
           
 double getWeight(Issue issue)
          Returns the weight of a particular issue in the domain.
 void init(NegotiationSession negoSession, java.util.HashMap<java.lang.String,java.lang.Double> parameters)
          Initializes the model.
 void initializeModel(NegotiationSession negotiationSession)
           
 void setOpponentUtilitySpace(BilateralAtomicNegotiationSession session)
          Method which may be overwritten by an opponent model to get access to the opponent's utilityspace.
 void setOpponentUtilitySpace(UtilitySpace opponentUtilitySpace)
          Method which may be overwritten by an opponent model to get access to the opponent's utilityspace.
 void updateModel(Bid opponentBid, double time)
          Method used to update the opponent model.
 
Methods inherited from class negotiator.boaframework.OpponentModel
endSession, getIssueWeights, init, isCleared, loadData, storeData, updateModel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PerfectScalableBayesianModel

public PerfectScalableBayesianModel()
Method Detail

init

public void init(NegotiationSession negoSession,
                 java.util.HashMap<java.lang.String,java.lang.Double> parameters)
          throws java.lang.Exception
Description copied from class: OpponentModel
Initializes the model. The init method should always be called after creating an opponent model.

Overrides:
init in class OpponentModel
Parameters:
negoSession - reference to the state of the negotiation
Throws:
java.lang.Exception

setOpponentUtilitySpace

public void setOpponentUtilitySpace(UtilitySpace opponentUtilitySpace)
Description copied from class: OpponentModel
Method which may be overwritten by an opponent model to get access to the opponent's utilityspace.

Overrides:
setOpponentUtilitySpace in class OpponentModel

setOpponentUtilitySpace

public void setOpponentUtilitySpace(BilateralAtomicNegotiationSession session)
Description copied from class: OpponentModel
Method which may be overwritten by an opponent model to get access to the opponent's utilityspace.

Overrides:
setOpponentUtilitySpace in class OpponentModel

initializeModel

public void initializeModel(NegotiationSession negotiationSession)

updateModel

public void updateModel(Bid opponentBid,
                        double time)
Description copied from class: OpponentModel
Method used to update the opponent model.

Specified by:
updateModel in class OpponentModel
Parameters:
opponentBid - to update the model with.
time - at which the bid was offered.

getBidEvaluation

public double getBidEvaluation(Bid bid)
Description copied from class: OpponentModel
Determines the utility of a bid according to the preference profile.

Overrides:
getBidEvaluation in class OpponentModel
Parameters:
bid - of which the utility is calculated.
Returns:
Utility of the bid

getWeight

public double getWeight(Issue issue)
Description copied from class: OpponentModel
Returns the weight of a particular issue in the domain.

Overrides:
getWeight in class OpponentModel
Parameters:
issue - from which the weight should be returned
Returns:
weight of the given issue

getOpponentUtilitySpace

public UtilitySpace getOpponentUtilitySpace()
Overrides:
getOpponentUtilitySpace in class OpponentModel
Returns:
the estimated utility space of the opponent

cleanUp

public void cleanUp()
Description copied from class: OpponentModel
Removes references to the objects used by the opponent model.

Overrides:
cleanUp in class OpponentModel

getName

public java.lang.String getName()
Overrides:
getName in class OpponentModel
Returns:
name of the opponent model.